[INFO] cloning repository https://github.com/mohamedimrane/chess-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mohamedimrane/chess-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohamedimrane%2Fchess-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohamedimrane%2Fchess-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f7d37dffc1a46d91f8b60a97e5f718c1d984542
[INFO] checking mohamedimrane/chess-engine against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohamedimrane%2Fchess-engine" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mohamedimrane/chess-engine on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mohamedimrane/chess-engine
[INFO] finished tweaking git repo https://github.com/mohamedimrane/chess-engine
[INFO] tweaked toml for git repo https://github.com/mohamedimrane/chess-engine written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/mohamedimrane/chess-engine already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking mohamedimrane/chess-engine against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohamedimrane%2Fchess-engine" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mohamedimrane/chess-engine on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mohamedimrane/chess-engine
[INFO] finished tweaking git repo https://github.com/mohamedimrane/chess-engine
[INFO] tweaked toml for git repo https://github.com/mohamedimrane/chess-engine written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/mohamedimrane/chess-engine already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking mohamedimrane/chess-engine against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohamedimrane%2Fchess-engine" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/mohamedimrane/chess-engine on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/mohamedimrane/chess-engine
[INFO] finished tweaking git repo https://github.com/mohamedimrane/chess-engine
[INFO] tweaked toml for git repo https://github.com/mohamedimrane/chess-engine written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/mohamedimrane/chess-engine already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c18c9413a1d68c8ef454a1a569b4df7f796480416c2199a50c03ed0a445d1c39
[INFO] running `Command { std: "docker" "start" "-a" "c18c9413a1d68c8ef454a1a569b4df7f796480416c2199a50c03ed0a445d1c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c18c9413a1d68c8ef454a1a569b4df7f796480416c2199a50c03ed0a445d1c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c18c9413a1d68c8ef454a1a569b4df7f796480416c2199a50c03ed0a445d1c39", kill_on_drop: false }`
[INFO] [stdout] c18c9413a1d68c8ef454a1a569b4df7f796480416c2199a50c03ed0a445d1c39
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb60460d4ce5ee68aa0220a752e703b5a42cfa25b73d2776adc87f28d25b2823
[INFO] running `Command { std: "docker" "start" "-a" "cb60460d4ce5ee68aa0220a752e703b5a42cfa25b73d2776adc87f28d25b2823", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]     Checking colored v2.1.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling color-print-proc-macro v0.3.5
[INFO] [stderr]     Checking color-print v0.3.5
[INFO] [stderr]     Checking rust-chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `get_file_number`
[INFO] [stdout]  --> src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use utils::{get_file_number, string_to_square};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_file_number`
[INFO] [stdout]  --> src/main.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use utils::{get_file_number, string_to_square};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/board.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |         for file in 0..8 {
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/board.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |             for rank in 0..8 {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:220:34
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 for dir_index in dir_start..dir_end {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |                     for n in 0..NUM_SQUARES_TO_EDGE[start_square][dir_index] {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/board.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     if !(0..=7).contains(&target_file) || !(0..=7).contains(&target_rank) {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/board.rs:249:61
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     if !(0..=7).contains(&target_file) || !(0..=7).contains(&target_rank) {
[INFO] [stdout]     |                                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:271:34
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 for dir_index in 0..8 {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/board.rs:350:22
[INFO] [stdout]     |
[INFO] [stdout] 350 |                 if !(second_rank.0..=second_rank.1).contains(&start_square) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:531:18
[INFO] [stdout]     |
[INFO] [stdout] 531 |         for x in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:543:18
[INFO] [stdout]     |
[INFO] [stdout] 543 |         for x in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:553:21
[INFO] [stdout]     |
[INFO] [stdout] 553 |         for rank in 0..8 {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:557:25
[INFO] [stdout]     |
[INFO] [stdout] 557 |             for file in 0..8 {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/main.rs:211:14
[INFO] [stdout]     |
[INFO] [stdout] 211 |         .get(0..=1)
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/main.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |         .get(2..=3)
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/board.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |         for file in 0..8 {
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/board.rs:18:25
[INFO] [stdout]    |
[INFO] [stdout] 18 |             for rank in 0..8 {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:220:34
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 for dir_index in dir_start..dir_end {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |                     for n in 0..NUM_SQUARES_TO_EDGE[start_square][dir_index] {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/board.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     if !(0..=7).contains(&target_file) || !(0..=7).contains(&target_rank) {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/board.rs:249:61
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     if !(0..=7).contains(&target_file) || !(0..=7).contains(&target_rank) {
[INFO] [stdout]     |                                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:271:34
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 for dir_index in 0..8 {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/board.rs:350:22
[INFO] [stdout]     |
[INFO] [stdout] 350 |                 if !(second_rank.0..=second_rank.1).contains(&start_square) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:531:18
[INFO] [stdout]     |
[INFO] [stdout] 531 |         for x in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:543:18
[INFO] [stdout]     |
[INFO] [stdout] 543 |         for x in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:553:21
[INFO] [stdout]     |
[INFO] [stdout] 553 |         for rank in 0..8 {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board.rs:557:25
[INFO] [stdout]     |
[INFO] [stdout] 557 |             for file in 0..8 {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/main.rs:211:14
[INFO] [stdout]     |
[INFO] [stdout] 211 |         .get(0..=1)
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/main.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |         .get(2..=3)
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/main.rs:221:44
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let en_passant_flag = match string.get(4..=4) {
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/main.rs:221:44
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let en_passant_flag = match string.get(4..=4) {
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `en_passant_squage_seg`
[INFO] [stdout]    --> src/board.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let en_passant_squage_seg = splited_fen.get(3).copied().ok_or(FENotEnoughParts)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_en_passant_squage_seg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `halfmove_clock_seg`
[INFO] [stdout]    --> src/board.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let halfmove_clock_seg = splited_fen.get(4).copied().ok_or(FENotEnoughParts)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_halfmove_clock_seg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fullmove_number_seg`
[INFO] [stdout]    --> src/board.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let fullmove_number_seg = splited_fen.get(5).copied().ok_or(FENotEnoughParts)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fullmove_number_seg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/castling_rights.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             _ => unreachable!(),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `en_passant_squage_seg`
[INFO] [stdout]    --> src/board.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let en_passant_squage_seg = splited_fen.get(3).copied().ok_or(FENotEnoughParts)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_en_passant_squage_seg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `halfmove_clock_seg`
[INFO] [stdout]    --> src/board.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let halfmove_clock_seg = splited_fen.get(4).copied().ok_or(FENotEnoughParts)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_halfmove_clock_seg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fullmove_number_seg`
[INFO] [stdout]    --> src/board.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let fullmove_number_seg = splited_fen.get(5).copied().ok_or(FENotEnoughParts)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fullmove_number_seg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/errors.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             _ => write!(f, "error message lol"),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/castling_rights.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             _ => unreachable!(),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/errors.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             _ => write!(f, "error message lol"),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEST` is never used
[INFO] [stdout]   --> src/board.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const WEST: usize = 2;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAST` is never used
[INFO] [stdout]   --> src/board.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const EAST: usize = 3;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_fen` is never used
[INFO] [stdout]    --> src/board.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 72  | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn from_fen(fen: &'static str) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `WhiteCanShortCastle`, `WhiteCanLongCastle`, `BlackCanShortCastle`, `BlackCanLongCastle`, and `CanCastle` are never used
[INFO] [stdout]   --> src/castling_rights.rs:8:15
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl CastlingRights {
[INFO] [stdout]    | ------------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 8  |     pub const WhiteCanShortCastle: u8 = 0b00000001;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub const WhiteCanLongCastle: u8 = 0b00000010;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub const BlackCanShortCastle: u8 = 0b00010000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub const BlackCanLongCastle: u8 = 0b00100000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub const CanCastle: u8 = 0b00000011;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidRank` is never constructed
[INFO] [stdout]   --> src/errors.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum MoveError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     InvalidRank,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/errors.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum FenError<'a> {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 24 |     NotEnoughParts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     TooManyPieces(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     UnknownPiece(char),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     BadPlacement(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     NoSuchSide(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |     BadCastlingCharacter(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     BadEnPassant(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 31 |     BadHalfmove(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 32 |     BadFullmove(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FenError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/moves.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl MoveRecord {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 103 |     pub fn new(v_move: u16, piece_on_target_square: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const WhiteCanCastle: u8 = 0b00000011;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_CASTLE`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanNotCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const WhiteCanNotCastle: u8 = 0b00000000;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_NOT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanShortCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const WhiteCanShortCastle: u8 = 0b00000001;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_SHORT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanLongCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const WhiteCanLongCastle: u8 = 0b00000010;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_LONG_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const BlackCanCastle: u8 = 0b00110000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanNotCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const BlackCanNotCastle: u8 = 0b00000000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_NOT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanShortCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const BlackCanShortCastle: u8 = 0b00010000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_SHORT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanLongCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const BlackCanLongCastle: u8 = 0b00100000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_LONG_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const CanCastle: u8 = 0b00000011;
[INFO] [stdout]    |               ^^^^^^^^^ help: convert the identifier to upper case: `CAN_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanNotCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const CanNotCastle: u8 = 0b00000000;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `CAN_NOT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanShortCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const CanShortCastle: u8 = 0b00000001;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CAN_SHORT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanLongCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const CanLongCastle: u8 = 0b00000010;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CAN_LONG_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `white_rights_mask` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const white_rights_mask: u8 = 0b00001111;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_RIGHTS_MASK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `black_rights_mask` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const black_rights_mask: u8 = 0b11110000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_RIGHTS_MASK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `White` should have an upper case name
[INFO] [stdout]  --> src/colour.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub const White: bool = true;
[INFO] [stdout]   |               ^^^^^ help: convert the identifier to upper case: `WHITE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Black` should have an upper case name
[INFO] [stdout]  --> src/colour.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const Black: bool = false;
[INFO] [stdout]   |               ^^^^^ help: convert the identifier to upper case: `BLACK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEST` is never used
[INFO] [stdout]   --> src/board.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const WEST: usize = 2;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAST` is never used
[INFO] [stdout]   --> src/board.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const EAST: usize = 3;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_fen` is never used
[INFO] [stdout]    --> src/board.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 72  | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn from_fen(fen: &'static str) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `WhiteCanShortCastle`, `WhiteCanLongCastle`, `BlackCanShortCastle`, `BlackCanLongCastle`, and `CanCastle` are never used
[INFO] [stdout]   --> src/castling_rights.rs:8:15
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl CastlingRights {
[INFO] [stdout]    | ------------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 8  |     pub const WhiteCanShortCastle: u8 = 0b00000001;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub const WhiteCanLongCastle: u8 = 0b00000010;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub const BlackCanShortCastle: u8 = 0b00010000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub const BlackCanLongCastle: u8 = 0b00100000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub const CanCastle: u8 = 0b00000011;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidRank` is never constructed
[INFO] [stdout]   --> src/errors.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum MoveError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     InvalidRank,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/errors.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum FenError<'a> {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 24 |     NotEnoughParts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     TooManyPieces(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     UnknownPiece(char),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     BadPlacement(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     NoSuchSide(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |     BadCastlingCharacter(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     BadEnPassant(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 31 |     BadHalfmove(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 32 |     BadFullmove(&'a str),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FenError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/moves.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl MoveRecord {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 103 |     pub fn new(v_move: u16, piece_on_target_square: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const WhiteCanCastle: u8 = 0b00000011;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_CASTLE`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanNotCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const WhiteCanNotCastle: u8 = 0b00000000;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_NOT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanShortCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const WhiteCanShortCastle: u8 = 0b00000001;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_SHORT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `WhiteCanLongCastle` should have an upper case name
[INFO] [stdout]  --> src/castling_rights.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const WhiteCanLongCastle: u8 = 0b00000010;
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_CAN_LONG_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const BlackCanCastle: u8 = 0b00110000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanNotCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const BlackCanNotCastle: u8 = 0b00000000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_NOT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanShortCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const BlackCanShortCastle: u8 = 0b00010000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_SHORT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BlackCanLongCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const BlackCanLongCastle: u8 = 0b00100000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_CAN_LONG_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const CanCastle: u8 = 0b00000011;
[INFO] [stdout]    |               ^^^^^^^^^ help: convert the identifier to upper case: `CAN_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanNotCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const CanNotCastle: u8 = 0b00000000;
[INFO] [stdout]    |               ^^^^^^^^^^^^ help: convert the identifier to upper case: `CAN_NOT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanShortCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub const CanShortCastle: u8 = 0b00000001;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `CAN_SHORT_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CanLongCastle` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const CanLongCastle: u8 = 0b00000010;
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: convert the identifier to upper case: `CAN_LONG_CASTLE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `white_rights_mask` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const white_rights_mask: u8 = 0b00001111;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `WHITE_RIGHTS_MASK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `black_rights_mask` should have an upper case name
[INFO] [stdout]   --> src/castling_rights.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const black_rights_mask: u8 = 0b11110000;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `BLACK_RIGHTS_MASK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `White` should have an upper case name
[INFO] [stdout]  --> src/colour.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub const White: bool = true;
[INFO] [stdout]   |               ^^^^^ help: convert the identifier to upper case: `WHITE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `Black` should have an upper case name
[INFO] [stdout]  --> src/colour.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const Black: bool = false;
[INFO] [stdout]   |               ^^^^^ help: convert the identifier to upper case: `BLACK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.63s
[INFO] running `Command { std: "docker" "inspect" "cb60460d4ce5ee68aa0220a752e703b5a42cfa25b73d2776adc87f28d25b2823", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb60460d4ce5ee68aa0220a752e703b5a42cfa25b73d2776adc87f28d25b2823", kill_on_drop: false }`
[INFO] [stdout] cb60460d4ce5ee68aa0220a752e703b5a42cfa25b73d2776adc87f28d25b2823
